import logging

def analyze_fault(request):
    """分析故障并保存结果"""
    try:
        # 获取请求中的故障名称
        fault_name = request.json.get('fault_name')
        logging.info(f"接收到故障分析请求: {fault_name}")
        if not fault_name:
            logging.warning("缺少故障名称")
            return {'error': '缺少故障名称'}, 400
        
        # 调用 main.py 中的 main 函数进行分析
        import sys
        import os
        sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
        from core.roothealer.main import main
        logging.info(f"开始调用 main 函数进行分析: {fault_name}")
        main(fault_name)
        logging.info(f"main 函数调用完成: {fault_name}")
        
        # 返回成功响应
        logging.info(f"故障分析完成: {fault_name}")
        return {'message': '分析完成'}, 200
    except Exception as e:
        # 记录详细的错误日志
        logging.exception(f"故障分析过程中发生错误: {fault_name}, 错误信息: {str(e)}")
        # 返回错误响应
        return {'error': str(e)}, 500